package com.hornet.manager.system.model;

import java.util.Date;
import java.util.List;

import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;

import tk.mybatis.mapper.annotation.NameStyle;
import tk.mybatis.mapper.code.Style;

@Table(name = "hornet_system_menu")
@NameStyle(value=Style.normal)
public class Menu {
    /**
     * 菜单主键
     */
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    /**
     * 父级主键
     */
    private Long pid;

    /**
     * 分类（catalog、page）
     */
    private String category;

    /**
     * 编码（唯一编码）
     */
    private String code;

    /**
     * 名称
     */
    private String fullName;

    /**
     * 访问地址
     */
    private String location;

    /**
     * Easyui图标或图标字体库
     */
    private String iconCls;

    /**
     * 资源地址
     */
    private String target;

    /**
     * 级别层次
     */
    private Integer level;

    /**
     * 展开：-1 折叠、 1 展开
     */
    private Integer isexpand;

    /**
     * 有效：-1 有效、 1 无效
     */
    private Integer enabled;

    /**
     * 默认选中
     */
    private Boolean defaultSelect;

    /**
     * 排序码
     */
    private Integer sortCode;

    /**
     * 备注
     */
    private String remark;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 创建用户主键
     */
    private Long createUserId;

    /**
     * 创建用户
     */
    private String createUserName;

    /**
     * 修改时间
     */
    private Date modifyTime;

    /**
     * 修改用户主键
     */
    private Long modifyUserId;

    /**
     * 修改用户
     */
    private String modifyUserName;
    
    @Transient
    private String text ;
    
    @Transient
    private String href ;
    
    @Transient
    private List<Menu> children ;

    public String getText() {
		return text;
	}

	public void setText(String text) {
		this.text = text;
	}

	public String getHref() {
		return href;
	}

	public void setHref(String href) {
		this.href = href;
	}

	public List<Menu> getChildren() {
		return children;
	}

	public void setChildren(List<Menu> children) {
		this.children = children;
	}

	/**
     * 获取菜单主键
     *
     * @return id - 菜单主键
     */
    public Long getId() {
        return id;
    }

    /**
     * 设置菜单主键
     *
     * @param id 菜单主键
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * 获取父级主键
     *
     * @return pid - 父级主键
     */
    public Long getPid() {
        return pid;
    }

    /**
     * 设置父级主键
     *
     * @param pid 父级主键
     */
    public void setPid(Long pid) {
        this.pid = pid;
    }

    /**
     * 获取分类（catalog、page）
     *
     * @return category - 分类（catalog、page）
     */
    public String getCategory() {
        return category;
    }

    /**
     * 设置分类（catalog、page）
     *
     * @param category 分类（catalog、page）
     */
    public void setCategory(String category) {
        this.category = category;
    }

    /**
     * 获取编码（唯一编码）
     *
     * @return code - 编码（唯一编码）
     */
    public String getCode() {
        return code;
    }

    /**
     * 设置编码（唯一编码）
     *
     * @param code 编码（唯一编码）
     */
    public void setCode(String code) {
        this.code = code;
    }

    /**
     * 获取名称
     *
     * @return fullName - 名称
     */
    public String getFullName() {
        return fullName;
    }

    /**
     * 设置名称
     *
     * @param fullName 名称
     */
    public void setFullName(String fullName) {
        this.fullName = fullName;
    }

    /**
     * 获取访问地址
     *
     * @return location - 访问地址
     */
    public String getLocation() {
        return location;
    }

    /**
     * 设置访问地址
     *
     * @param location 访问地址
     */
    public void setLocation(String location) {
        this.location = location;
    }

    /**
     * 获取Easyui图标或图标字体库
     *
     * @return iconCls - Easyui图标或图标字体库
     */
    public String getIconCls() {
        return iconCls;
    }

    /**
     * 设置Easyui图标或图标字体库
     *
     * @param iconCls Easyui图标或图标字体库
     */
    public void setIconCls(String iconCls) {
        this.iconCls = iconCls;
    }

    /**
     * 获取资源地址
     *
     * @return target - 资源地址
     */
    public String getTarget() {
        return target;
    }

    /**
     * 设置资源地址
     *
     * @param target 资源地址
     */
    public void setTarget(String target) {
        this.target = target;
    }

    /**
     * 获取级别层次
     *
     * @return level - 级别层次
     */
    public Integer getLevel() {
        return level;
    }

    /**
     * 设置级别层次
     *
     * @param level 级别层次
     */
    public void setLevel(Integer level) {
        this.level = level;
    }

    /**
     * 获取展开：-1 折叠、 1 展开
     *
     * @return isexpand - 展开：-1 折叠、 1 展开
     */
    public Integer getIsexpand() {
        return isexpand;
    }

    /**
     * 设置展开：-1 折叠、 1 展开
     *
     * @param isexpand 展开：-1 折叠、 1 展开
     */
    public void setIsexpand(Integer isexpand) {
        this.isexpand = isexpand;
    }

    /**
     * 获取有效：-1 有效、 1 无效
     *
     * @return enabled - 有效：-1 有效、 1 无效
     */
    public Integer getEnabled() {
        return enabled;
    }

    /**
     * 设置有效：-1 有效、 1 无效
     *
     * @param enabled 有效：-1 有效、 1 无效
     */
    public void setEnabled(Integer enabled) {
        this.enabled = enabled;
    }

    /**
     * 获取默认选中
     *
     * @return defaultSelect - 默认选中
     */
    public Boolean getDefaultSelect() {
        return defaultSelect;
    }

    /**
     * 设置默认选中
     *
     * @param defaultSelect 默认选中
     */
    public void setDefaultSelect(Boolean defaultSelect) {
        this.defaultSelect = defaultSelect;
    }

    /**
     * 获取排序码
     *
     * @return sortCode - 排序码
     */
    public Integer getSortCode() {
        return sortCode;
    }

    /**
     * 设置排序码
     *
     * @param sortCode 排序码
     */
    public void setSortCode(Integer sortCode) {
        this.sortCode = sortCode;
    }

    /**
     * 获取备注
     *
     * @return remark - 备注
     */
    public String getRemark() {
        return remark;
    }

    /**
     * 设置备注
     *
     * @param remark 备注
     */
    public void setRemark(String remark) {
        this.remark = remark;
    }

    /**
     * 获取创建时间
     *
     * @return createTime - 创建时间
     */
    public Date getCreateTime() {
        return createTime;
    }

    /**
     * 设置创建时间
     *
     * @param createTime 创建时间
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /**
     * 获取创建用户主键
     *
     * @return createUserId - 创建用户主键
     */
    public Long getCreateUserId() {
        return createUserId;
    }

    /**
     * 设置创建用户主键
     *
     * @param createUserId 创建用户主键
     */
    public void setCreateUserId(Long createUserId) {
        this.createUserId = createUserId;
    }

    /**
     * 获取创建用户
     *
     * @return createUserName - 创建用户
     */
    public String getCreateUserName() {
        return createUserName;
    }

    /**
     * 设置创建用户
     *
     * @param createUserName 创建用户
     */
    public void setCreateUserName(String createUserName) {
        this.createUserName = createUserName;
    }

    /**
     * 获取修改时间
     *
     * @return modifyTime - 修改时间
     */
    public Date getModifyTime() {
        return modifyTime;
    }

    /**
     * 设置修改时间
     *
     * @param modifyTime 修改时间
     */
    public void setModifyTime(Date modifyTime) {
        this.modifyTime = modifyTime;
    }

    /**
     * 获取修改用户主键
     *
     * @return modifyUserId - 修改用户主键
     */
    public Long getModifyUserId() {
        return modifyUserId;
    }

    /**
     * 设置修改用户主键
     *
     * @param modifyUserId 修改用户主键
     */
    public void setModifyUserId(Long modifyUserId) {
        this.modifyUserId = modifyUserId;
    }

    /**
     * 获取修改用户
     *
     * @return modifyUserName - 修改用户
     */
    public String getModifyUserName() {
        return modifyUserName;
    }

    /**
     * 设置修改用户
     *
     * @param modifyUserName 修改用户
     */
    public void setModifyUserName(String modifyUserName) {
        this.modifyUserName = modifyUserName;
    }
}